#ifndef JEU_H
#define JEU_H
#include <iostream>
#include <list>
using namespace std;

class MoteurAudio;
class MoteurJeu;
class MoteurGraphique;
class Moteur;

//Classe de jeu, c'est cette classe qui sera instancié pour lancer le jeu depuis le main
class Jeu
{
public:
    Jeu();
    ~Jeu();

    //Méthode qui va permettre de lancer le jeu
    void lancerJeu();

    void stopperJeu();

    //On enregistre les pointeurs sur chaque moteur afin d'accelérer l'accès et par conséquence la vitesse de communicaton entre ces modules
    MoteurJeu *mJJ;
    MoteurGraphique *mGJ;
    MoteurAudio *mAJ;

private:
    //La liste de tous les modules/moteurs de jeu qui seront utilisés pour construire le jeu
    list<Moteur*> listeModules;
};

#endif // JEU_H
